Hibernateの開発者でありSeamプロジェクトを先導するGavin Kingが、Java EE 6の要望リストにパート2(source)、パート3(source)を追加した。InfoQは今年すでにパート1について取り上げている(英語)。Java EE 6に関する包括的なJSR(JSR 316)が先日公開審査のため発表(記事)された。
King氏の2度目の投稿は、JBoss Seam Webアプリケーションフレームワークの中核的要素であるJSFに焦点を当てている。
...私がJSFのファンなのは、JSFが完璧だからということでは決してありません。全体的なアーキテクチャが好きで、これまで使ってきた他のWebフレームワークと比べて欠点・制約をむしろ調整しやすいと判断しています。もちろん、他のフレームワークに対してどのような感情を抱いているにせよ、JSFを無視するのは愚かなことです。JSFはJavaの世界において最も急速に成長しているWebフレームワークになっています。
King氏がJSFにあると感じている長所は次のとおりである。
- アプリケーションのコンポーネントがPOJOである
- JSFライフサイクルは、ビジネスロジックがビューに限られているアプリケーションにとって完璧である
- Managed Beanがステートフルでコンテキスト依存である
- マークアップ言語がHTMLプリミティブ型のセットに限定されていない
- JSF UIコンポーネントが普通のHTML形式の処理および他の多くのWebフレームワークに影響する特定の問題を解決してくれる
しかしKing氏は拡張機能の開発にあたって諸問題があると見ている。
...にもかかわらず、JSF 1.2が適切に扱わない事項がいくつかあり、これによってFacelets、Seam、Shale、Ajax4JSF、ICEFaces、Avatarなどの製品において非標準のJSFへの拡張機能が必要となります。非標準の拡張機能を使う必要がある場合は、標準的なものも避ける方がいいと主張している人がいます。...
これに基づき、King氏は2.0に関して次のような項目を提案(source)している(さらなる詳細は最初の投稿にある)。
- 非同期の部分的なサブミットとレンダー
- アノテーションベースのプログラミングモデル
- Non-facesリクエストに関するライフサイクルの改善
- オーケストレーションの改善
- エラー処理
- Faceletsの標準化およびJSF UIコンポーネント開発の簡素化
- 代替的なステートレスUIコンポーネントライフサイクル
- データ結合
- モデルベースのバリデーション
- メッセージにおけるELの使用可
- セッションの無効化
King氏の3度目の投稿は、Unified ELについて焦点を当てている。
...JSFとJSPが使っている新しいUnified EL APIは、Javaプラットフォームへの追加項目として実に有益なものです。残念ながら、Unified ELと連携するためのJavaレベルのAPIを設計するために多くの労力が費やされたため、式言語そのものはJSPの登場当初からあまり変わっていません。いくつかの新機能については過去のものとなっています。さらに強力になったELにより、プレゼンテーションロジックを私たちのページにとどめることができ、余分なメソッドでビジネスモデルを汚してしまうのを回避できます。...
提案(source)されているエンハンスメントは次のとおりである(さらなる詳細は最初の投稿にある)。
- メソッドパラメーター
- switchステートメント
- コレクションサイズ演算子
- コレクションコンストラクター
- コレクションの反復
(原文は2007年7月9日にリリースされました)